# 文件I/O
# open 函数
"""
    file object = open(file_name [, access_mode][, buffering])

    参数说明：
        file_name：要打开的文件路径（字符串）。
        access_mode：访问模式，如 'r'（读）、'w'（写）、'a'（追加）等。这个参数是非强制的，默认文件访问模式为只读(r)。
        buffering：缓冲设置：
            0：无缓冲（仅二进制模式）
            1：行缓冲（仅文本模式）
            >1：指定缓冲区大小
            负数或省略：使用系统默认
"""

"""
    模式参数说明
    模式	描述
    t	文本模式 (默认)。
    x	写模式，新建一个文件，如果该文件已存在则会报错。
    b	二进制模式。
    +	打开一个文件进行更新(可读可写)。
    U	通用换行模式（不推荐）。
    r	以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
    rb	以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
    r+	打开一个文件用于读写。文件指针将会放在文件的开头。
    rb+	以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
    w	打开一个文件只用于写入。如果该文件已存在则打开文件，并从开头开始编辑，即原有内容会被删除。如果该文件不存在，创建新文件。
    wb	以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件，并从开头开始编辑，即原有内容会被删除。如果该文件不存在，创建新文件。一般用于非文本文件如图片等。
    w+	打开一个文件用于读写。如果该文件已存在则打开文件，并从开头开始编辑，即原有内容会被删除。如果该文件不存在，创建新文件。
    wb+	以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件，并从开头开始编辑，即原有内容会被删除。如果该文件不存在，创建新文件。一般用于非文本文件如图片等。
    a	打开一个文件用于追加。如果该文件已存在，文件指针将会放在文件的结尾。也就是说，新的内容将会被写入到已有内容之后。如果该文件不存在，创建新文件进行写入。
    ab	以二进制格式打开一个文件用于追加。如果该文件已存在，文件指针将会放在文件的结尾。也就是说，新的内容将会被写入到已有内容之后。如果该文件不存在，创建新文件进行写入。
    a+	打开一个文件用于读写。如果该文件已存在，文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在，创建新文件用于读写。
    ab+	以二进制格式打开一个文件用于追加。如果该文件已存在，文件指针将会放在文件的结尾。如果该文件不存在，创建新文件用于读写。
    
    模式	        r	r+	w	w+	a	a+
    读	        +	+		+		+
    写		    +	+	+	+	+
    创建			+	+	+	+
    覆盖			+	+
    指针在开始	+	+	+	+
    指针在结尾					+	+
"""

# 最佳实践：
# 使用 with open(...) as f: 语句，确保文件正确关闭。
# 明确指定编码（尤其在 Python 3 中）：
with open('1_open函数.py', 'r', encoding='utf-8') as f:
    content = f.read()
    print(content)
